//package cn.xspace.wnx.util;
//
///**
// * Created by Administrator on 2016/10/10 0010.
// */
//import java.lang.reflect.Method;
//
//public class ReflectUtils {
//    private ReflectUtils() {
//    }
//
//    public static StackTraceElement getCurrentMethodName() {
//        Object callerTraceElement = null;
//        StackTraceElement[] stacks = Thread.currentThread().getStackTrace();
//        return stacks[3];
//    }
//
//    public static StackTraceElement getCallerMethodName() {
//        Object callerTraceElement = null;
//        StackTraceElement[] stacks = Thread.currentThread().getStackTrace();
//        return stacks[4];
//    }
//
//    public static Method getMethod(Class clazz, String methodName, Object... args) {
//        Method result = null;
//        Class[] types = null;
//        if(args != null) {
//            types = new Class[args.length];
//
//            for(int e = 0; e < args.length; ++e) {
//                types[e] = args[e].getClass();
//                if(types[e].equals(Integer.class)) {
//                    types[e] = Integer.TYPE;
//                } else if(types[e].equals(Boolean.class)) {
//                    types[e] = Boolean.TYPE;
//                } else if(types[e].equals(Float.class)) {
//                    types[e] = Float.TYPE;
//                } else if(types[e].equals(Double.class)) {
//                    types[e] = Double.TYPE;
//                } else if(types[e].equals(Byte.class)) {
//                    types[e] = Byte.TYPE;
//                } else if(types[e].equals(Character.class)) {
//                    types[e] = Character.TYPE;
//                } else if(types[e].equals(Long.class)) {
//                    types[e] = Long.TYPE;
//                } else if(types[e].equals(Short.class)) {
//                    types[e] = Short.TYPE;
//                }
//            }
//        }
//
//        try {
//            result = clazz.getMethod(methodName, types);
//        } catch (NoSuchMethodException var8) {
//            for(int i = 0; i < args.length; ++i) {
//                types[i] = args[i].getClass();
//            }
//
//            try {
//                result = clazz.getMethod(methodName, types);
//            } catch (NoSuchMethodException var7) {
//                ;
//            }
//        }
//
//        return result;
//    }
//}
